/**!
 *
 * 举报列表。
 *
 */

$(function () {
    /** openid 的 jQuery 对象 */
    var $openid = $("#openid");
    /** 总页数的 jQuery 对象 */
    var $pages = $("#pages");
    /** 上一页的 jQuery 对象 */
    var $prevPage = $("#prev_page");
    /** 当前页的 jQuery 对象 */
    var $currPage = $("#curr_page");
    /** 下一页的 jQuery 对象 */
    var $nextPage = $("#next_page");
    /** 举报列表的 jQuery 对象 */
    var $reportList = $("#report_list");
    /** 加载等待的 jQuery 对象 */
    var $loading = $("#loading");
    /** 加载标记：true-可以加载；false-不可以加载 */
    var loadingFlag = true;
    /** 停止加载的标记：true-停止；false-不停止 */
    var stopLoadingFlag = false;
    /** 加载等待信息 */
    var loadingMsg = "<span class='c-red'><i class='fa fa-spinner fa-spin'></i>正在加载…</span>";
    /** 加载完毕信息 */
    var loadingOkMsg = "<span class='c-green'><i class='iconfont icon-right'></i>已全部加载完毕</span>";

    //----------[Juicer 配置]----------//
    juicer.set({
        "strip": false,
        "cache": false,
        'tag::commentOpen': '{$J',
        "tag::interpolateOpen": "$J{",
        "tag::noneencodeOpen": "$JJ{"
    });
    //----------[/Juicer 配置]----------//

    // 监听滚动条到底部
    $(window).scroll(function () {
        // 窗口的 jQuery 对象
        var $window = $(this);
        // 文档的 jQuery 对象
        var $document = $(document);
        // 窗口高度
        var wHeight = $window.height();
        // 文档的高度
        var dHeight = $document.height();
        // 滚动条到文档顶部的距离
        var wScrollTop = $window.scrollTop();

        // 监听滚动条到底部
        if ((dHeight - wHeight - wScrollTop) == 0) {
            // 总页数
            var pages = parseInt($pages.val());
            // 下一页
            var nextPage = parseInt($nextPage.val());

            if (loadingFlag && !stopLoadingFlag) {
                $.myAjax({
                    url: "weixin/report/list.json",
                    data: {
                        openid: $openid.val(),
                        page: nextPage
                    },
                    beforeSendFn: function () {
                        loadingFlag = false;

                        $loading.html(loadingMsg);
                    },
                    completeFn: function () {
                        loadingFlag = true;
                    },
                    successFn: function (data) {
                        $pages.val(data.result.pages);
                        $prevPage.val(data.result.prevPage);
                        $currPage.val(data.result.currPage);
                        $nextPage.val(data.result.nextPage);

                        var data = {
                            reportList: data.result.results
                        };

                        $reportList.append(juicer($("#report_list_tpl").html(), data));

                        // 全部加载完毕
                        if (nextPage == pages) {
                            stopLoadingFlag = true;

                            $loading.html(loadingOkMsg);
                        }
                    }
                });
            }
        }
    });
});